#pragma once 
#include<malloc.h>
#include<stdio.h>
#include<string.h>
#include<assert.h>
typedef int DataType;
typedef struct SListNode{
  DataType val;  
  struct SListNode* next;
}SListNode;

SListNode* CreateNode();

void Print(SListNode* phead);

void SListPushBack(SListNode** phead,DataType x);

void SListPushFront(SListNode** phead,DataType x);

void SListPopBack(SListNode** phead);

void SListPopFront(SListNode** phead);

SListNode* SListFind(SListNode* phead,DataType x);

void SListInsertAfter(SListNode* pos,DataType x);

void SListEraseAfter(SListNode* pos);

void SListDestroy(SListNode** pos);
